// $ANTLR 3.4 C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g 2012-05-05 13:59:51

package com.plt.w2w;
import java.util.Map;
import java.util.HashMap;
import java.io.*;
import java.util.ArrayList;
import java.io.PrintWriter;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class GrammarBackup4Parser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "AGE", "AND", "ASSIGNMENT_OP", "CATEGORY", "COLORT", "CONDITIONAL_OP", "CREATEEVENT", "CREATET", "DATE", "DATET", "DELIMITER", "ELSE", "ENDDATE", "ENDOFSTMT", "ENDTIME", "EVENT", "EXPR", "FOREACH", "GARMENT", "GENERATEOUTFIT", "HUMIDITY", "IDENTIFIER", "IF", "INCLUDE", "INT", "ITEMT", "LEFTCURLY", "LEFTPARAN", "MAIN", "MAKERT", "NUMBER", "OCCUPATION", "OR", "PREFERENCET", "PRINTT", "QUOTE", "READT", "REJTOK", "RETTOK", "RIGHTCURLY", "RIGHTPARAN", "SHADET", "STARTDATE", "STARTTIME", "STRING", "TEMPERATURE", "USER", "USET", "VOID", "WARDROBET", "WEATHER", "WEIGHT", "WS", "' in the '", "'+'", "','", "'1'", "'2'", "'3'", "'for each '"
    };

    public static final int EOF=-1;
    public static final int T__57=57;
    public static final int T__58=58;
    public static final int T__59=59;
    public static final int T__60=60;
    public static final int T__61=61;
    public static final int T__62=62;
    public static final int T__63=63;
    public static final int AGE=4;
    public static final int AND=5;
    public static final int ASSIGNMENT_OP=6;
    public static final int CATEGORY=7;
    public static final int COLORT=8;
    public static final int CONDITIONAL_OP=9;
    public static final int CREATEEVENT=10;
    public static final int CREATET=11;
    public static final int DATE=12;
    public static final int DATET=13;
    public static final int DELIMITER=14;
    public static final int ELSE=15;
    public static final int ENDDATE=16;
    public static final int ENDOFSTMT=17;
    public static final int ENDTIME=18;
    public static final int EVENT=19;
    public static final int EXPR=20;
    public static final int FOREACH=21;
    public static final int GARMENT=22;
    public static final int GENERATEOUTFIT=23;
    public static final int HUMIDITY=24;
    public static final int IDENTIFIER=25;
    public static final int IF=26;
    public static final int INCLUDE=27;
    public static final int INT=28;
    public static final int ITEMT=29;
    public static final int LEFTCURLY=30;
    public static final int LEFTPARAN=31;
    public static final int MAIN=32;
    public static final int MAKERT=33;
    public static final int NUMBER=34;
    public static final int OCCUPATION=35;
    public static final int OR=36;
    public static final int PREFERENCET=37;
    public static final int PRINTT=38;
    public static final int QUOTE=39;
    public static final int READT=40;
    public static final int REJTOK=41;
    public static final int RETTOK=42;
    public static final int RIGHTCURLY=43;
    public static final int RIGHTPARAN=44;
    public static final int SHADET=45;
    public static final int STARTDATE=46;
    public static final int STARTTIME=47;
    public static final int STRING=48;
    public static final int TEMPERATURE=49;
    public static final int USER=50;
    public static final int USET=51;
    public static final int VOID=52;
    public static final int WARDROBET=53;
    public static final int WEATHER=54;
    public static final int WEIGHT=55;
    public static final int WS=56;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public GrammarBackup4Parser(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public GrammarBackup4Parser(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return GrammarBackup4Parser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g"; }


      final int TYPE =0;
      final int VALUE =1;
    	public Map<String, String[]> symbolTable = new HashMap<String, String[]>();
    	public ArrayList<String> mainFuncString = new ArrayList<String>();
    	public ArrayList<Garment> garments = new ArrayList<Garment>();



    // $ANTLR start "start"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:28:1: start : ( wardrobeCreation mainOptional | mainProgram );
    public final void start() throws RecognitionException {
        String wardrobeCreation1 =null;

        String mainOptional2 =null;

        String mainProgram3 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:29:3: ( wardrobeCreation mainOptional | mainProgram )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==CREATET) ) {
                alt1=1;
            }
            else if ( ((LA1_0 >= USET && LA1_0 <= VOID)) ) {
                alt1=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }
            switch (alt1) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:30:3: wardrobeCreation mainOptional
                    {
                    pushFollow(FOLLOW_wardrobeCreation_in_start49);
                    wardrobeCreation1=wardrobeCreation();

                    state._fsp--;


                    pushFollow(FOLLOW_mainOptional_in_start51);
                    mainOptional2=mainOptional();

                    state._fsp--;



                    //        for(int i=0; i<garments.size(); i++)
                    //          garments.get(i).printNicely();
                            PrintWriter pw;
                                try {
                                  pw = new PrintWriter("TheProgram.java");
                                  pw.print("package com.plt.w2w; \n");
                                  pw.print("import java.util.ArrayList;\n");
                                  pw.print("import java.util.Scanner;\n");
                                  pw.print("public class TheProgram { \n");
                                  pw.print("ArrayList<Garment> garments = new ArrayList<Garment>(); \n");
                                  pw.print(wardrobeCreation1);
                                  pw.print("\n");
                                  pw.print(mainOptional2);
                                  pw.print("\npublic static void main(){\n");  
                                  pw.print("TheProgram obj = new TheProgram(); \n");    
                                  pw.print("obj.createWardrobeBackEnd(); \n");
                                  pw.print("obj.mainBackEnd(); \n");
                                  pw.print("}\n}");
                                  pw.close();
                                } catch (Exception e) {
                                  e.printStackTrace();
                                }
                                
                          //call the java class handling wardrobe creation
                    //      Wardrobe obj = new Wardrobe();
                    //      obj.create(garments,wardrobeCreation1);
                          
                        

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:60:5: mainProgram
                    {
                    pushFollow(FOLLOW_mainProgram_in_start63);
                    mainProgram3=mainProgram();

                    state._fsp--;



                          System.out.println(">>>>>>>>WOHOOOOOO<<<<<<<<<< \n" + mainProgram3);
                          PrintWriter pw;
                                try {
                                  pw = new PrintWriter("TheProgram.java");
                                  pw = new PrintWriter("TheProgram.java");
                                  pw.print("public class TheProgram {");
                                  pw.print(mainProgram3);
                                  pw.print("\n\tpublic static void main(){\n");
                                  pw.print("mainBackEnd();");
                                  pw.print("\n\t}\n}");
                                  pw.close();
                                } catch (Exception e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                                }
                                
                          MainFuncBackEnd obj = new MainFuncBackEnd(symbolTable,mainFuncString);
                          obj.backEnd();
                          //call class handling
                        

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "start"



    // $ANTLR start "mainOptional"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:84:1: mainOptional returns [String val] : ( mainProgram |);
    public final String mainOptional() throws RecognitionException {
        String val = null;


        String mainProgram4 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:85:3: ( mainProgram |)
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( ((LA2_0 >= USET && LA2_0 <= VOID)) ) {
                alt2=1;
            }
            else if ( (LA2_0==EOF) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;

            }
            switch (alt2) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:86:3: mainProgram
                    {
                    pushFollow(FOLLOW_mainProgram_in_mainOptional90);
                    mainProgram4=mainProgram();

                    state._fsp--;



                          val = mainProgram4;
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:91:3: 
                    {

                          val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "mainOptional"



    // $ANTLR start "wardrobeCreation"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:96:1: wardrobeCreation returns [String val] : createStatement LEFTCURLY items RIGHTCURLY ;
    public final String wardrobeCreation() throws RecognitionException {
        String val = null;


        String createStatement5 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:97:3: ( createStatement LEFTCURLY items RIGHTCURLY )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:98:3: createStatement LEFTCURLY items RIGHTCURLY
            {
            pushFollow(FOLLOW_createStatement_in_wardrobeCreation122);
            createStatement5=createStatement();

            state._fsp--;


            match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_wardrobeCreation124); 

            pushFollow(FOLLOW_items_in_wardrobeCreation126);
            items();

            state._fsp--;


            match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_wardrobeCreation128); 


                  String createCode = "";
                  for(int i=0;i<garments.size();i++){
                      Garment g = (Garment) garments.get(i);
                      createCode += "garments.add(new Garment(\"" + g.getType() + "\",\"" + g.getWeight() + "\",\"" + g.getMaker() + "\",\"" +
                                            g.getColor() + "\",\"" + g.getShade() + "\",\"" + g.getPreference() + "\"));";
                      createCode += "\n";
                  }
                  val = "\npublic void createWardrobeBackEnd() {\n" 
                  +  createCode +
                   "\n" +
                   "Wardrobe obj = new Wardrobe(); \n" + 
                   "obj.create(garments,\"" + createStatement5 + "\");\n}"
                   ;
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "wardrobeCreation"



    // $ANTLR start "createStatement"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:116:1: createStatement returns [String val] : CREATET WARDROBET wardrobeName ENDOFSTMT ;
    public final String createStatement() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.wardrobeName_return wardrobeName6 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:117:3: ( CREATET WARDROBET wardrobeName ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:118:3: CREATET WARDROBET wardrobeName ENDOFSTMT
            {
            match(input,CREATET,FOLLOW_CREATET_in_createStatement152); 

            match(input,WARDROBET,FOLLOW_WARDROBET_in_createStatement154); 

            pushFollow(FOLLOW_wardrobeName_in_createStatement156);
            wardrobeName6=wardrobeName();

            state._fsp--;


            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_createStatement158); 


                  val = (wardrobeName6!=null?input.toString(wardrobeName6.start,wardrobeName6.stop):null);
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "createStatement"



    // $ANTLR start "items"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:124:1: items : item items1 ;
    public final void items() throws RecognitionException {
        Garment item7 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:125:3: ( item items1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:126:3: item items1
            {
            pushFollow(FOLLOW_item_in_items180);
            item7=item();

            state._fsp--;


            pushFollow(FOLLOW_items1_in_items184);
            items1();

            state._fsp--;



                garments.add(item7);
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "items"



    // $ANTLR start "items1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:132:1: items1 : ( item items1 |);
    public final void items1() throws RecognitionException {
        Garment item8 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:133:3: ( item items1 |)
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==LEFTCURLY) ) {
                alt3=1;
            }
            else if ( (LA3_0==RIGHTCURLY) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;

            }
            switch (alt3) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:134:3: item items1
                    {
                    pushFollow(FOLLOW_item_in_items1204);
                    item8=item();

                    state._fsp--;


                    pushFollow(FOLLOW_items1_in_items1207);
                    items1();

                    state._fsp--;



                        garments.add(item8);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:139:3: 
                    {
                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "items1"



    // $ANTLR start "item"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:141:1: item returns [Garment garm] : LEFTCURLY type category weight color shade maker preference RIGHTCURLY ;
    public final Garment item() throws RecognitionException {
        Garment garm = null;


        String type9 =null;

        String weight10 =null;

        String maker11 =null;

        String color12 =null;

        String shade13 =null;

        String preference14 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:142:3: ( LEFTCURLY type category weight color shade maker preference RIGHTCURLY )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:143:3: LEFTCURLY type category weight color shade maker preference RIGHTCURLY
            {
            match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_item234); 

            pushFollow(FOLLOW_type_in_item238);
            type9=type();

            state._fsp--;


            pushFollow(FOLLOW_category_in_item240);
            category();

            state._fsp--;


            pushFollow(FOLLOW_weight_in_item242);
            weight10=weight();

            state._fsp--;


            pushFollow(FOLLOW_color_in_item244);
            color12=color();

            state._fsp--;


            pushFollow(FOLLOW_shade_in_item246);
            shade13=shade();

            state._fsp--;


            pushFollow(FOLLOW_maker_in_item248);
            maker11=maker();

            state._fsp--;


            pushFollow(FOLLOW_preference_in_item250);
            preference14=preference();

            state._fsp--;


            match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_item252); 


                Garment g = new Garment(type9, weight10, maker11, color12, shade13, preference14);
                garm = g;
            //      String item = "garmemts.add(new Garment(\"" + type9 + "\",\"" + weight10 + "\",\"" + maker11 + "\",\"" +
            //                     color12 + "\",\"" + shade13 + "\",\"" + preference14 + "\"));"
            //      garm = item;            
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return garm;
    }
    // $ANTLR end "item"



    // $ANTLR start "type"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:153:1: type returns [String val] : ITEMT ASSIGNMENT_OP value ENDOFSTMT ;
    public final String type() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.value_return value15 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:154:3: ( ITEMT ASSIGNMENT_OP value ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:155:3: ITEMT ASSIGNMENT_OP value ENDOFSTMT
            {
            match(input,ITEMT,FOLLOW_ITEMT_in_type275); 

            match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_type277); 

            pushFollow(FOLLOW_value_in_type279);
            value15=value();

            state._fsp--;


            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_type281); 


                val = (value15!=null?input.toString(value15.start,value15.stop):null);
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "type"



    // $ANTLR start "category"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:161:1: category returns [String val] : ( ITEMT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String category() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.value_return value16 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:162:3: ( ITEMT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==ITEMT) ) {
                alt4=1;
            }
            else if ( (LA4_0==COLORT||LA4_0==MAKERT||LA4_0==PREFERENCET||LA4_0==RIGHTCURLY||LA4_0==SHADET||LA4_0==WEIGHT) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;

            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:163:3: ITEMT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,ITEMT,FOLLOW_ITEMT_in_category308); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_category310); 

                    pushFollow(FOLLOW_value_in_category312);
                    value16=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_category314); 


                        val = (value16!=null?input.toString(value16.start,value16.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:168:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "category"



    // $ANTLR start "weight"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:173:1: weight returns [String val] : ( WEIGHT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String weight() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.value_return value17 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:174:3: ( WEIGHT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==WEIGHT) ) {
                alt5=1;
            }
            else if ( (LA5_0==COLORT||LA5_0==MAKERT||LA5_0==PREFERENCET||LA5_0==RIGHTCURLY||LA5_0==SHADET) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;

            }
            switch (alt5) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:175:3: WEIGHT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,WEIGHT,FOLLOW_WEIGHT_in_weight349); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_weight351); 

                    pushFollow(FOLLOW_value_in_weight353);
                    value17=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_weight355); 


                        val = (value17!=null?input.toString(value17.start,value17.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:180:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "weight"



    // $ANTLR start "color"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:185:1: color returns [String val] : ( COLORT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String color() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.value_return value18 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:186:3: ( COLORT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0==COLORT) ) {
                alt6=1;
            }
            else if ( (LA6_0==MAKERT||LA6_0==PREFERENCET||LA6_0==RIGHTCURLY||LA6_0==SHADET) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;

            }
            switch (alt6) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:187:3: COLORT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,COLORT,FOLLOW_COLORT_in_color390); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_color392); 

                    pushFollow(FOLLOW_value_in_color394);
                    value18=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_color396); 


                        val = (value18!=null?input.toString(value18.start,value18.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:192:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "color"



    // $ANTLR start "shade"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:197:1: shade returns [String val] : ( SHADET ASSIGNMENT_OP value ENDOFSTMT |);
    public final String shade() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.value_return value19 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:198:3: ( SHADET ASSIGNMENT_OP value ENDOFSTMT |)
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==SHADET) ) {
                alt7=1;
            }
            else if ( (LA7_0==MAKERT||LA7_0==PREFERENCET||LA7_0==RIGHTCURLY) ) {
                alt7=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;

            }
            switch (alt7) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:199:3: SHADET ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,SHADET,FOLLOW_SHADET_in_shade429); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_shade431); 

                    pushFollow(FOLLOW_value_in_shade433);
                    value19=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_shade435); 


                        val = (value19!=null?input.toString(value19.start,value19.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:204:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "shade"



    // $ANTLR start "maker"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:209:1: maker returns [String val] : ( MAKERT ASSIGNMENT_OP value ENDOFSTMT |);
    public final String maker() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.value_return value20 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:210:3: ( MAKERT ASSIGNMENT_OP value ENDOFSTMT |)
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==MAKERT) ) {
                alt8=1;
            }
            else if ( (LA8_0==PREFERENCET||LA8_0==RIGHTCURLY) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;

            }
            switch (alt8) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:211:3: MAKERT ASSIGNMENT_OP value ENDOFSTMT
                    {
                    match(input,MAKERT,FOLLOW_MAKERT_in_maker468); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_maker470); 

                    pushFollow(FOLLOW_value_in_maker472);
                    value20=value();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_maker474); 


                        val = (value20!=null?input.toString(value20.start,value20.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:216:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "maker"



    // $ANTLR start "preference"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:221:1: preference returns [String val] : ( PREFERENCET ASSIGNMENT_OP prefRange ENDOFSTMT |);
    public final String preference() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.prefRange_return prefRange21 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:222:3: ( PREFERENCET ASSIGNMENT_OP prefRange ENDOFSTMT |)
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==PREFERENCET) ) {
                alt9=1;
            }
            else if ( (LA9_0==RIGHTCURLY) ) {
                alt9=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;

            }
            switch (alt9) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:223:3: PREFERENCET ASSIGNMENT_OP prefRange ENDOFSTMT
                    {
                    match(input,PREFERENCET,FOLLOW_PREFERENCET_in_preference507); 

                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_preference509); 

                    pushFollow(FOLLOW_prefRange_in_preference511);
                    prefRange21=prefRange();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_preference513); 


                        val = (prefRange21!=null?input.toString(prefRange21.start,prefRange21.stop):null);
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:228:3: 
                    {

                        val = "2";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "preference"



    // $ANTLR start "mainProgram"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:233:1: mainProgram returns [String val] : header mainDecl LEFTCURLY lines createEventCommand runCommand RIGHTCURLY ;
    public final String mainProgram() throws RecognitionException {
        String val = null;


        String header22 =null;

        String mainDecl23 =null;

        String lines24 =null;

        String createEventCommand25 =null;

        String runCommand26 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:234:3: ( header mainDecl LEFTCURLY lines createEventCommand runCommand RIGHTCURLY )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:235:3: header mainDecl LEFTCURLY lines createEventCommand runCommand RIGHTCURLY
            {
            pushFollow(FOLLOW_header_in_mainProgram546);
            header22=header();

            state._fsp--;


            pushFollow(FOLLOW_mainDecl_in_mainProgram548);
            mainDecl23=mainDecl();

            state._fsp--;


            match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_mainProgram550); 

            pushFollow(FOLLOW_lines_in_mainProgram552);
            lines24=lines();

            state._fsp--;


            pushFollow(FOLLOW_createEventCommand_in_mainProgram554);
            createEventCommand25=createEventCommand();

            state._fsp--;


            pushFollow(FOLLOW_runCommand_in_mainProgram556);
            runCommand26=runCommand();

            state._fsp--;


            match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_mainProgram558); 


                val = header22 + mainDecl23 + "{\n" + "Scanner s = new Scanner(System.in);\n"
                + lines24 + createEventCommand25 + runCommand26 + "}";
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "mainProgram"



    // $ANTLR start "header"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:242:1: header returns [String val] : ( USET WARDROBET wardrobeNames ENDOFSTMT |);
    public final String header() throws RecognitionException {
        String val = null;


        String wardrobeNames27 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:243:3: ( USET WARDROBET wardrobeNames ENDOFSTMT |)
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==USET) ) {
                alt10=1;
            }
            else if ( (LA10_0==VOID) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;

            }
            switch (alt10) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:244:3: USET WARDROBET wardrobeNames ENDOFSTMT
                    {
                    match(input,USET,FOLLOW_USET_in_header581); 

                    match(input,WARDROBET,FOLLOW_WARDROBET_in_header583); 

                    pushFollow(FOLLOW_wardrobeNames_in_header585);
                    wardrobeNames27=wardrobeNames();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_header587); 


                        val = "//Wardrobe to be used: "+ wardrobeNames27 + "\n";
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:249:3: 
                    {
                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "header"



    // $ANTLR start "wardrobeNames"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:251:1: wardrobeNames returns [String val] : wardrobeName wardrobeNames1 ;
    public final String wardrobeNames() throws RecognitionException {
        String val = null;


        GrammarBackup4Parser.wardrobeName_return wardrobeName28 =null;

        String wardrobeNames129 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:252:3: ( wardrobeName wardrobeNames1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:253:3: wardrobeName wardrobeNames1
            {
            pushFollow(FOLLOW_wardrobeName_in_wardrobeNames616);
            wardrobeName28=wardrobeName();

            state._fsp--;


            pushFollow(FOLLOW_wardrobeNames1_in_wardrobeNames618);
            wardrobeNames129=wardrobeNames1();

            state._fsp--;



            //       System.out.println("text2: "+(wardrobeName28!=null?input.toString(wardrobeName28.start,wardrobeName28.stop):null));
                   val = (wardrobeName28!=null?input.toString(wardrobeName28.start,wardrobeName28.stop):null) + ", " + wardrobeNames129 ;
                   val = val.substring(0, val.length()-2);
                

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "wardrobeNames"



    // $ANTLR start "wardrobeNames1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:261:1: wardrobeNames1 returns [String val] : ( '+' wardrobeName w1= wardrobeNames1 |);
    public final String wardrobeNames1() throws RecognitionException {
        String val = null;


        String w1 =null;

        GrammarBackup4Parser.wardrobeName_return wardrobeName30 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:262:3: ( '+' wardrobeName w1= wardrobeNames1 |)
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==58) ) {
                alt11=1;
            }
            else if ( (LA11_0==ENDOFSTMT) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;

            }
            switch (alt11) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:263:3: '+' wardrobeName w1= wardrobeNames1
                    {
                    match(input,58,FOLLOW_58_in_wardrobeNames1643); 

                    pushFollow(FOLLOW_wardrobeName_in_wardrobeNames1645);
                    wardrobeName30=wardrobeName();

                    state._fsp--;


                    pushFollow(FOLLOW_wardrobeNames1_in_wardrobeNames1649);
                    w1=wardrobeNames1();

                    state._fsp--;



                    //      System.out.println("text: "+(wardrobeName30!=null?input.toString(wardrobeName30.start,wardrobeName30.stop):null));
                           val = (wardrobeName30!=null?input.toString(wardrobeName30.start,wardrobeName30.stop):null) + ", " + w1;
                       

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:269:3: 
                    {
                     val = "";

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "wardrobeNames1"



    // $ANTLR start "mainDecl"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:272:1: mainDecl returns [String val] : VOID MAIN LEFTPARAN RIGHTPARAN ;
    public final String mainDecl() throws RecognitionException {
        String val = null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:273:3: ( VOID MAIN LEFTPARAN RIGHTPARAN )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:274:3: VOID MAIN LEFTPARAN RIGHTPARAN
            {
            match(input,VOID,FOLLOW_VOID_in_mainDecl681); 

            match(input,MAIN,FOLLOW_MAIN_in_mainDecl683); 

            match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_mainDecl685); 

            match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_mainDecl687); 


                  val = "public void mainBackEnd()\n";
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "mainDecl"



    // $ANTLR start "lines"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:281:1: lines returns [String val] : ( line l1= lines |);
    public final String lines() throws RecognitionException {
        String val = null;


        String l1 =null;

        String line31 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:282:3: ( line l1= lines |)
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==DATET||(LA12_0 >= IDENTIFIER && LA12_0 <= IF)||LA12_0==INT||LA12_0==PRINTT||(LA12_0 >= READT && LA12_0 <= REJTOK)||LA12_0==STRING||LA12_0==63) ) {
                alt12=1;
            }
            else if ( (LA12_0==CREATEEVENT||LA12_0==RIGHTCURLY) ) {
                alt12=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;

            }
            switch (alt12) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:283:3: line l1= lines
                    {
                    pushFollow(FOLLOW_line_in_lines714);
                    line31=line();

                    state._fsp--;


                    pushFollow(FOLLOW_lines_in_lines718);
                    l1=lines();

                    state._fsp--;



                        val = line31 + "\n" + l1;
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:288:3: 
                    {
                     val = "" ;

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "lines"



    // $ANTLR start "line"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:291:1: line returns [String val] : ( assignmentStatement | 'for each ' GARMENT ' in the ' WARDROBET LEFTCURLY lines RIGHTCURLY | IF expr LEFTCURLY lines RIGHTCURLY optional_tail | REJTOK ENDOFSTMT | READT LEFTPARAN RIGHTPARAN ENDOFSTMT | PRINTT LEFTPARAN printargs RIGHTPARAN ENDOFSTMT );
    public final String line() throws RecognitionException {
        String val = null;


        String assignmentStatement32 =null;

        String lines33 =null;

        String expr34 =null;

        String lines35 =null;

        String optional_tail36 =null;

        String printargs37 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:292:4: ( assignmentStatement | 'for each ' GARMENT ' in the ' WARDROBET LEFTCURLY lines RIGHTCURLY | IF expr LEFTCURLY lines RIGHTCURLY optional_tail | REJTOK ENDOFSTMT | READT LEFTPARAN RIGHTPARAN ENDOFSTMT | PRINTT LEFTPARAN printargs RIGHTPARAN ENDOFSTMT )
            int alt13=6;
            switch ( input.LA(1) ) {
            case DATET:
            case IDENTIFIER:
            case INT:
            case STRING:
                {
                alt13=1;
                }
                break;
            case 63:
                {
                alt13=2;
                }
                break;
            case IF:
                {
                alt13=3;
                }
                break;
            case REJTOK:
                {
                alt13=4;
                }
                break;
            case READT:
                {
                alt13=5;
                }
                break;
            case PRINTT:
                {
                alt13=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 13, 0, input);

                throw nvae;

            }

            switch (alt13) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:293:4: assignmentStatement
                    {
                    pushFollow(FOLLOW_assignmentStatement_in_line750);
                    assignmentStatement32=assignmentStatement();

                    state._fsp--;



                        val = assignmentStatement32;
                       

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:297:7: 'for each ' GARMENT ' in the ' WARDROBET LEFTCURLY lines RIGHTCURLY
                    {
                    match(input,63,FOLLOW_63_in_line763); 

                    match(input,GARMENT,FOLLOW_GARMENT_in_line765); 

                    match(input,57,FOLLOW_57_in_line767); 

                    match(input,WARDROBET,FOLLOW_WARDROBET_in_line769); 

                    match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_line771); 

                    pushFollow(FOLLOW_lines_in_line773);
                    lines33=lines();

                    state._fsp--;


                    match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_line775); 


                          val = "for ( Garment g : garmentArrayList ) {\n" + lines33 + "}";
                        

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:302:7: IF expr LEFTCURLY lines RIGHTCURLY optional_tail
                    {
                    match(input,IF,FOLLOW_IF_in_line790); 

                    pushFollow(FOLLOW_expr_in_line792);
                    expr34=expr();

                    state._fsp--;


                    match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_line794); 

                    pushFollow(FOLLOW_lines_in_line796);
                    lines35=lines();

                    state._fsp--;


                    match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_line798); 

                    pushFollow(FOLLOW_optional_tail_in_line800);
                    optional_tail36=optional_tail();

                    state._fsp--;



                          val = "if" + expr34 + "{" + lines35 + "}" + optional_tail36;
                        

                    }
                    break;
                case 4 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:306:7: REJTOK ENDOFSTMT
                    {
                    match(input,REJTOK,FOLLOW_REJTOK_in_line814); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_line816); 


                          val = "";
                        

                    }
                    break;
                case 5 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:310:7: READT LEFTPARAN RIGHTPARAN ENDOFSTMT
                    {
                    match(input,READT,FOLLOW_READT_in_line830); 

                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_line832); 

                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_line834); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_line836); 


                          val = "s.next();";
                        

                    }
                    break;
                case 6 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:314:7: PRINTT LEFTPARAN printargs RIGHTPARAN ENDOFSTMT
                    {
                    match(input,PRINTT,FOLLOW_PRINTT_in_line850); 

                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_line852); 

                    pushFollow(FOLLOW_printargs_in_line854);
                    printargs37=printargs();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_line856); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_line858); 


                            val = "System.out.println(" + printargs37 + ");" ;
                        

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "line"



    // $ANTLR start "printargs"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:321:1: printargs returns [String val] : printarg printargs1 ;
    public final String printargs() throws RecognitionException {
        String val = null;


        String printarg38 =null;

        GrammarBackup4Parser.printargs1_return printargs139 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:322:5: ( printarg printargs1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:322:7: printarg printargs1
            {
            pushFollow(FOLLOW_printarg_in_printargs887);
            printarg38=printarg();

            state._fsp--;


            pushFollow(FOLLOW_printargs1_in_printargs889);
            printargs139=printargs1();

            state._fsp--;



                      val = printarg38 + (printargs139!=null?input.toString(printargs139.start,printargs139.stop):null);  
                 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "printargs"


    public static class printargs1_return extends ParserRuleReturnScope {
        public String val;
    };


    // $ANTLR start "printargs1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:328:1: printargs1 returns [String val] : ( '+' QUOTE IDENTIFIER QUOTE p1= printargs1 | '+' variableName p1= printargs1 |);
    public final GrammarBackup4Parser.printargs1_return printargs1() throws RecognitionException {
        GrammarBackup4Parser.printargs1_return retval = new GrammarBackup4Parser.printargs1_return();
        retval.start = input.LT(1);


        Token IDENTIFIER40=null;
        GrammarBackup4Parser.printargs1_return p1 =null;

        GrammarBackup4Parser.variableName_return variableName41 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:329:9: ( '+' QUOTE IDENTIFIER QUOTE p1= printargs1 | '+' variableName p1= printargs1 |)
            int alt14=3;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==58) ) {
                int LA14_1 = input.LA(2);

                if ( (LA14_1==QUOTE) ) {
                    alt14=1;
                }
                else if ( (LA14_1==IDENTIFIER) ) {
                    alt14=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 14, 1, input);

                    throw nvae;

                }
            }
            else if ( (LA14_0==RIGHTPARAN) ) {
                alt14=3;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;

            }
            switch (alt14) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:329:11: '+' QUOTE IDENTIFIER QUOTE p1= printargs1
                    {
                    match(input,58,FOLLOW_58_in_printargs1922); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_printargs1924); 

                    IDENTIFIER40=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_printargs1926); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_printargs1928); 

                    pushFollow(FOLLOW_printargs1_in_printargs1932);
                    p1=printargs1();

                    state._fsp--;



                              retval.val = " + \"" + (IDENTIFIER40!=null?IDENTIFIER40.getText():null) + "\"" + (p1!=null?p1.val:null);  
                            

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:333:11: '+' variableName p1= printargs1
                    {
                    match(input,58,FOLLOW_58_in_printargs1954); 

                    pushFollow(FOLLOW_variableName_in_printargs1956);
                    variableName41=variableName();

                    state._fsp--;


                    pushFollow(FOLLOW_printargs1_in_printargs1960);
                    p1=printargs1();

                    state._fsp--;



                              if(symbolTable.containsKey((variableName41!=null?input.toString(variableName41.start,variableName41.stop):null)))
                                retval.val = " + " + (variableName41!=null?input.toString(variableName41.start,variableName41.stop):null) + (p1!=null?p1.val:null);
                              else
                                System.out.println("Error! Variable not defined!");
                            

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:341:9: 
                    {

                              retval.val = "";
                            

                    }
                    break;

            }
            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "printargs1"



    // $ANTLR start "printarg"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:346:1: printarg returns [String val] : ( variableName | QUOTE IDENTIFIER QUOTE );
    public final String printarg() throws RecognitionException {
        String val = null;


        Token IDENTIFIER43=null;
        GrammarBackup4Parser.variableName_return variableName42 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:347:7: ( variableName | QUOTE IDENTIFIER QUOTE )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==IDENTIFIER) ) {
                alt15=1;
            }
            else if ( (LA15_0==QUOTE) ) {
                alt15=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;

            }
            switch (alt15) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:348:7: variableName
                    {
                    pushFollow(FOLLOW_variableName_in_printarg1025);
                    variableName42=variableName();

                    state._fsp--;



                              val = (variableName42!=null?input.toString(variableName42.start,variableName42.stop):null) ;  
                            

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:352:9: QUOTE IDENTIFIER QUOTE
                    {
                    match(input,QUOTE,FOLLOW_QUOTE_in_printarg1043); 

                    IDENTIFIER43=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_printarg1045); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_printarg1047); 


                              val = "\"" + (IDENTIFIER43!=null?IDENTIFIER43.getText():null) + "\"";  
                          

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "printarg"



    // $ANTLR start "optional_tail"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:358:1: optional_tail returns [String val] : ( ELSE LEFTCURLY lines RIGHTCURLY |);
    public final String optional_tail() throws RecognitionException {
        String val = null;


        String lines44 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:359:3: ( ELSE LEFTCURLY lines RIGHTCURLY |)
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==ELSE) ) {
                alt16=1;
            }
            else if ( (LA16_0==CREATEEVENT||LA16_0==DATET||(LA16_0 >= IDENTIFIER && LA16_0 <= IF)||LA16_0==INT||LA16_0==PRINTT||(LA16_0 >= READT && LA16_0 <= REJTOK)||LA16_0==RIGHTCURLY||LA16_0==STRING||LA16_0==63) ) {
                alt16=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;

            }
            switch (alt16) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:359:5: ELSE LEFTCURLY lines RIGHTCURLY
                    {
                    match(input,ELSE,FOLLOW_ELSE_in_optional_tail1076); 

                    match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_optional_tail1078); 

                    pushFollow(FOLLOW_lines_in_optional_tail1080);
                    lines44=lines();

                    state._fsp--;


                    match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_optional_tail1082); 


                        val = "else {\n " + lines44 + "}";
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:364:3: 
                    {

                        val = "";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "optional_tail"



    // $ANTLR start "expr"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:369:1: expr returns [String val] : conditions ;
    public final String expr() throws RecognitionException {
        String val = null;


        String conditions45 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:370:3: ( conditions )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:371:3: conditions
            {
            pushFollow(FOLLOW_conditions_in_expr1113);
            conditions45=conditions();

            state._fsp--;



                val = conditions45;
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "expr"



    // $ANTLR start "conditions"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:377:1: conditions returns [String val] : ( LEFTPARAN c1= conditions beta | LEFTPARAN condition RIGHTPARAN );
    public final String conditions() throws RecognitionException {
        String val = null;


        String c1 =null;

        String beta46 =null;

        String condition47 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:378:3: ( LEFTPARAN c1= conditions beta | LEFTPARAN condition RIGHTPARAN )
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==LEFTPARAN) ) {
                int LA17_1 = input.LA(2);

                if ( (LA17_1==LEFTPARAN) ) {
                    alt17=1;
                }
                else if ( (LA17_1==DATE||LA17_1==IDENTIFIER||LA17_1==NUMBER||LA17_1==QUOTE) ) {
                    alt17=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 17, 1, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;

            }
            switch (alt17) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:379:3: LEFTPARAN c1= conditions beta
                    {
                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_conditions1136); 

                    pushFollow(FOLLOW_conditions_in_conditions1140);
                    c1=conditions();

                    state._fsp--;


                    pushFollow(FOLLOW_beta_in_conditions1142);
                    beta46=beta();

                    state._fsp--;



                        val = "(" + c1 + beta46;
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:383:5: LEFTPARAN condition RIGHTPARAN
                    {
                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_conditions1152); 

                    pushFollow(FOLLOW_condition_in_conditions1154);
                    condition47=condition();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_conditions1156); 


                        val = "(" + condition47 + ")";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "conditions"



    // $ANTLR start "beta"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:389:1: beta returns [String val] : ( AND condition RIGHTPARAN | OR condition RIGHTPARAN );
    public final String beta() throws RecognitionException {
        String val = null;


        String condition48 =null;

        String condition49 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:390:3: ( AND condition RIGHTPARAN | OR condition RIGHTPARAN )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==AND) ) {
                alt18=1;
            }
            else if ( (LA18_0==OR) ) {
                alt18=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;

            }
            switch (alt18) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:391:3: AND condition RIGHTPARAN
                    {
                    match(input,AND,FOLLOW_AND_in_beta1181); 

                    pushFollow(FOLLOW_condition_in_beta1183);
                    condition48=condition();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_beta1185); 


                        val = " && " + condition48 + ")";
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:395:5: OR condition RIGHTPARAN
                    {
                    match(input,OR,FOLLOW_OR_in_beta1195); 

                    pushFollow(FOLLOW_condition_in_beta1197);
                    condition49=condition();

                    state._fsp--;


                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_beta1199); 


                        val = " || " + condition49 + ")";
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "beta"



    // $ANTLR start "condition"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:401:1: condition returns [String val] : (n1= NUMBER CONDITIONAL_OP n2= NUMBER |v1= variableName CONDITIONAL_OP v2= variableName | NUMBER CONDITIONAL_OP variableName | variableName CONDITIONAL_OP NUMBER | DATE CONDITIONAL_OP variableName | variableName CONDITIONAL_OP DATE | QUOTE IDENTIFIER QUOTE CONDITIONAL_OP variableName | variableName CONDITIONAL_OP QUOTE IDENTIFIER QUOTE );
    public final String condition() throws RecognitionException {
        String val = null;


        Token n1=null;
        Token n2=null;
        Token CONDITIONAL_OP50=null;
        Token CONDITIONAL_OP51=null;
        Token NUMBER53=null;
        Token CONDITIONAL_OP54=null;
        Token CONDITIONAL_OP56=null;
        Token NUMBER57=null;
        Token DATE59=null;
        Token CONDITIONAL_OP60=null;
        Token CONDITIONAL_OP62=null;
        Token DATE63=null;
        Token IDENTIFIER65=null;
        Token CONDITIONAL_OP66=null;
        Token CONDITIONAL_OP68=null;
        Token IDENTIFIER69=null;
        GrammarBackup4Parser.variableName_return v1 =null;

        GrammarBackup4Parser.variableName_return v2 =null;

        GrammarBackup4Parser.variableName_return variableName52 =null;

        GrammarBackup4Parser.variableName_return variableName55 =null;

        GrammarBackup4Parser.variableName_return variableName58 =null;

        GrammarBackup4Parser.variableName_return variableName61 =null;

        GrammarBackup4Parser.variableName_return variableName64 =null;

        GrammarBackup4Parser.variableName_return variableName67 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:402:4: (n1= NUMBER CONDITIONAL_OP n2= NUMBER |v1= variableName CONDITIONAL_OP v2= variableName | NUMBER CONDITIONAL_OP variableName | variableName CONDITIONAL_OP NUMBER | DATE CONDITIONAL_OP variableName | variableName CONDITIONAL_OP DATE | QUOTE IDENTIFIER QUOTE CONDITIONAL_OP variableName | variableName CONDITIONAL_OP QUOTE IDENTIFIER QUOTE )
            int alt19=8;
            switch ( input.LA(1) ) {
            case NUMBER:
                {
                int LA19_1 = input.LA(2);

                if ( (LA19_1==CONDITIONAL_OP) ) {
                    int LA19_5 = input.LA(3);

                    if ( (LA19_5==NUMBER) ) {
                        alt19=1;
                    }
                    else if ( (LA19_5==IDENTIFIER) ) {
                        alt19=3;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 19, 5, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 19, 1, input);

                    throw nvae;

                }
                }
                break;
            case IDENTIFIER:
                {
                int LA19_2 = input.LA(2);

                if ( (LA19_2==CONDITIONAL_OP) ) {
                    switch ( input.LA(3) ) {
                    case NUMBER:
                        {
                        alt19=4;
                        }
                        break;
                    case DATE:
                        {
                        alt19=6;
                        }
                        break;
                    case QUOTE:
                        {
                        alt19=8;
                        }
                        break;
                    case IDENTIFIER:
                        {
                        alt19=2;
                        }
                        break;
                    default:
                        NoViableAltException nvae =
                            new NoViableAltException("", 19, 6, input);

                        throw nvae;

                    }

                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 19, 2, input);

                    throw nvae;

                }
                }
                break;
            case DATE:
                {
                alt19=5;
                }
                break;
            case QUOTE:
                {
                alt19=7;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 19, 0, input);

                throw nvae;

            }

            switch (alt19) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:403:4: n1= NUMBER CONDITIONAL_OP n2= NUMBER
                    {
                    n1=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1228); 

                    CONDITIONAL_OP50=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1230); 

                    n2=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1234); 


                          val =(n1!=null?n1.getText():null) + (CONDITIONAL_OP50!=null?CONDITIONAL_OP50.getText():null) + (n2!=null?n2.getText():null);
                       

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:408:6: v1= variableName CONDITIONAL_OP v2= variableName
                    {
                    pushFollow(FOLLOW_variableName_in_condition1253);
                    v1=variableName();

                    state._fsp--;


                    CONDITIONAL_OP51=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1255); 

                    pushFollow(FOLLOW_variableName_in_condition1259);
                    v2=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((v1!=null?input.toString(v1.start,v1.stop):null)) && symbolTable.containsKey((v2!=null?input.toString(v2.start,v2.stop):null))){
                              if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals(symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[TYPE])){
                                if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[VALUE] != null && symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[VALUE] != null){
                                  val = (v1!=null?input.toString(v1.start,v1.stop):null) + (CONDITIONAL_OP51!=null?CONDITIONAL_OP51.getText():null) + (v2!=null?input.toString(v2.start,v2.stop):null);}
                                else {
                                  System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:426:5: NUMBER CONDITIONAL_OP variableName
                    {
                    NUMBER53=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1271); 

                    CONDITIONAL_OP54=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1273); 

                    pushFollow(FOLLOW_variableName_in_condition1275);
                    variableName52=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((variableName52!=null?input.toString(variableName52.start,variableName52.stop):null))){
                              if(symbolTable.get((variableName52!=null?input.toString(variableName52.start,variableName52.stop):null))[TYPE].equals("int")){
                                if(symbolTable.get((variableName52!=null?input.toString(variableName52.start,variableName52.stop):null))[VALUE] == null){
                                  val = (NUMBER53!=null?NUMBER53.getText():null) + (CONDITIONAL_OP54!=null?CONDITIONAL_OP54.getText():null) + (variableName52!=null?input.toString(variableName52.start,variableName52.stop):null);
                                }
                                else{
                                   System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 4 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:445:5: variableName CONDITIONAL_OP NUMBER
                    {
                    pushFollow(FOLLOW_variableName_in_condition1287);
                    variableName55=variableName();

                    state._fsp--;


                    CONDITIONAL_OP56=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1289); 

                    NUMBER57=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_condition1291); 


                        if(symbolTable.containsKey((variableName55!=null?input.toString(variableName55.start,variableName55.stop):null))){
                              if(symbolTable.get((variableName55!=null?input.toString(variableName55.start,variableName55.stop):null))[TYPE].equals("int")){
                                if(symbolTable.get((variableName55!=null?input.toString(variableName55.start,variableName55.stop):null))[VALUE] == null){
                                  val = (variableName55!=null?input.toString(variableName55.start,variableName55.stop):null) + (CONDITIONAL_OP56!=null?CONDITIONAL_OP56.getText():null) + (NUMBER57!=null?NUMBER57.getText():null);
                                }
                                else{
                                   System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                      

                    }
                    break;
                case 5 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:464:5: DATE CONDITIONAL_OP variableName
                    {
                    DATE59=(Token)match(input,DATE,FOLLOW_DATE_in_condition1301); 

                    CONDITIONAL_OP60=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1303); 

                    pushFollow(FOLLOW_variableName_in_condition1305);
                    variableName58=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((variableName58!=null?input.toString(variableName58.start,variableName58.stop):null))){
                              if(symbolTable.get((variableName58!=null?input.toString(variableName58.start,variableName58.stop):null))[TYPE].equals("date")){
                                if(symbolTable.get((variableName58!=null?input.toString(variableName58.start,variableName58.stop):null))[VALUE] == null){
                                  val = (DATE59!=null?DATE59.getText():null) + (CONDITIONAL_OP60!=null?CONDITIONAL_OP60.getText():null) + (variableName58!=null?input.toString(variableName58.start,variableName58.stop):null);
                                }
                                else{
                                  System.out.println("Error! No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 6 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:483:5: variableName CONDITIONAL_OP DATE
                    {
                    pushFollow(FOLLOW_variableName_in_condition1317);
                    variableName61=variableName();

                    state._fsp--;


                    CONDITIONAL_OP62=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1319); 

                    DATE63=(Token)match(input,DATE,FOLLOW_DATE_in_condition1321); 


                          if(symbolTable.containsKey((variableName61!=null?input.toString(variableName61.start,variableName61.stop):null))){
                              if(symbolTable.get((variableName61!=null?input.toString(variableName61.start,variableName61.stop):null))[TYPE].equals("date")){
                                if(symbolTable.get((variableName61!=null?input.toString(variableName61.start,variableName61.stop):null))[VALUE] == null){
                                  val = (variableName61!=null?input.toString(variableName61.start,variableName61.stop):null) + (CONDITIONAL_OP62!=null?CONDITIONAL_OP62.getText():null) + (DATE63!=null?DATE63.getText():null);
                                }
                                else{
                                  System.out.println("Error! No value assigned to variable!");
                                }  
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 7 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:502:6: QUOTE IDENTIFIER QUOTE CONDITIONAL_OP variableName
                    {
                    match(input,QUOTE,FOLLOW_QUOTE_in_condition1334); 

                    IDENTIFIER65=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_condition1336); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_condition1338); 

                    CONDITIONAL_OP66=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1340); 

                    pushFollow(FOLLOW_variableName_in_condition1342);
                    variableName64=variableName();

                    state._fsp--;



                          if(symbolTable.containsKey((variableName64!=null?input.toString(variableName64.start,variableName64.stop):null))){
                              if(symbolTable.get((variableName64!=null?input.toString(variableName64.start,variableName64.stop):null))[TYPE].equals("string")){
                                if(symbolTable.get((variableName64!=null?input.toString(variableName64.start,variableName64.stop):null))[VALUE] == null){
                                  val = (IDENTIFIER65!=null?IDENTIFIER65.getText():null) + (CONDITIONAL_OP66!=null?CONDITIONAL_OP66.getText():null) + (variableName64!=null?input.toString(variableName64.start,variableName64.stop):null);
                                }
                                else{
                                  System.out.println("Error!  No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;
                case 8 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:521:5: variableName CONDITIONAL_OP QUOTE IDENTIFIER QUOTE
                    {
                    pushFollow(FOLLOW_variableName_in_condition1355);
                    variableName67=variableName();

                    state._fsp--;


                    CONDITIONAL_OP68=(Token)match(input,CONDITIONAL_OP,FOLLOW_CONDITIONAL_OP_in_condition1357); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_condition1359); 

                    IDENTIFIER69=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_condition1361); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_condition1363); 


                          if(symbolTable.containsKey((variableName67!=null?input.toString(variableName67.start,variableName67.stop):null))){
                              if(symbolTable.get((variableName67!=null?input.toString(variableName67.start,variableName67.stop):null))[TYPE].equals("string")){
                                if(symbolTable.get((variableName67!=null?input.toString(variableName67.start,variableName67.stop):null))[VALUE] == null){
                                  val = (variableName67!=null?input.toString(variableName67.start,variableName67.stop):null) + (CONDITIONAL_OP68!=null?CONDITIONAL_OP68.getText():null) + (IDENTIFIER69!=null?IDENTIFIER69.getText():null);
                                }
                                else{
                                  System.out.println("Error!  No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                          }
                        

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "condition"



    // $ANTLR start "assignmentStatement"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:542:1: assignmentStatement returns [String val] : ( DATET variableName ASSIGNMENT_OP DATE ENDOFSTMT | DATET variableName ENDOFSTMT | INT variableName ASSIGNMENT_OP NUMBER ENDOFSTMT | INT variableName ENDOFSTMT | STRING variableName ASSIGNMENT_OP QUOTE IDENTIFIER QUOTE ENDOFSTMT | STRING variableName ENDOFSTMT |v1= variableName ASSIGNMENT_OP v2= variableName ENDOFSTMT | variableName ASSIGNMENT_OP READT LEFTPARAN RIGHTPARAN ENDOFSTMT );
    public final String assignmentStatement() throws RecognitionException {
        String val = null;


        Token DATE71=null;
        Token ASSIGNMENT_OP72=null;
        Token NUMBER75=null;
        Token ASSIGNMENT_OP76=null;
        Token IDENTIFIER79=null;
        Token ASSIGNMENT_OP80=null;
        GrammarBackup4Parser.variableName_return v1 =null;

        GrammarBackup4Parser.variableName_return v2 =null;

        GrammarBackup4Parser.variableName_return variableName70 =null;

        GrammarBackup4Parser.variableName_return variableName73 =null;

        GrammarBackup4Parser.variableName_return variableName74 =null;

        GrammarBackup4Parser.variableName_return variableName77 =null;

        GrammarBackup4Parser.variableName_return variableName78 =null;

        GrammarBackup4Parser.variableName_return variableName81 =null;

        GrammarBackup4Parser.variableName_return variableName82 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:543:3: ( DATET variableName ASSIGNMENT_OP DATE ENDOFSTMT | DATET variableName ENDOFSTMT | INT variableName ASSIGNMENT_OP NUMBER ENDOFSTMT | INT variableName ENDOFSTMT | STRING variableName ASSIGNMENT_OP QUOTE IDENTIFIER QUOTE ENDOFSTMT | STRING variableName ENDOFSTMT |v1= variableName ASSIGNMENT_OP v2= variableName ENDOFSTMT | variableName ASSIGNMENT_OP READT LEFTPARAN RIGHTPARAN ENDOFSTMT )
            int alt20=8;
            switch ( input.LA(1) ) {
            case DATET:
                {
                int LA20_1 = input.LA(2);

                if ( (LA20_1==IDENTIFIER) ) {
                    int LA20_5 = input.LA(3);

                    if ( (LA20_5==ASSIGNMENT_OP) ) {
                        alt20=1;
                    }
                    else if ( (LA20_5==ENDOFSTMT) ) {
                        alt20=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 5, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 1, input);

                    throw nvae;

                }
                }
                break;
            case INT:
                {
                int LA20_2 = input.LA(2);

                if ( (LA20_2==IDENTIFIER) ) {
                    int LA20_6 = input.LA(3);

                    if ( (LA20_6==ASSIGNMENT_OP) ) {
                        alt20=3;
                    }
                    else if ( (LA20_6==ENDOFSTMT) ) {
                        alt20=4;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 6, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 2, input);

                    throw nvae;

                }
                }
                break;
            case STRING:
                {
                int LA20_3 = input.LA(2);

                if ( (LA20_3==IDENTIFIER) ) {
                    int LA20_7 = input.LA(3);

                    if ( (LA20_7==ASSIGNMENT_OP) ) {
                        alt20=5;
                    }
                    else if ( (LA20_7==ENDOFSTMT) ) {
                        alt20=6;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 7, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 3, input);

                    throw nvae;

                }
                }
                break;
            case IDENTIFIER:
                {
                int LA20_4 = input.LA(2);

                if ( (LA20_4==ASSIGNMENT_OP) ) {
                    int LA20_8 = input.LA(3);

                    if ( (LA20_8==READT) ) {
                        alt20=8;
                    }
                    else if ( (LA20_8==IDENTIFIER) ) {
                        alt20=7;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 20, 8, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 20, 4, input);

                    throw nvae;

                }
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 20, 0, input);

                throw nvae;

            }

            switch (alt20) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:544:3: DATET variableName ASSIGNMENT_OP DATE ENDOFSTMT
                    {
                    match(input,DATET,FOLLOW_DATET_in_assignmentStatement1388); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1390);
                    variableName70=variableName();

                    state._fsp--;


                    ASSIGNMENT_OP72=(Token)match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1392); 

                    DATE71=(Token)match(input,DATE,FOLLOW_DATE_in_assignmentStatement1394); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1396); 


                        if(!symbolTable.containsKey((variableName70!=null?input.toString(variableName70.start,variableName70.stop):null))){
                        String[] s = new String[2];
                        s[0] = "date";
                        s[1] = (DATE71!=null?DATE71.getText():null);
                        symbolTable.put((variableName70!=null?input.toString(variableName70.start,variableName70.stop):null), s);
                        val = "Date " + (variableName70!=null?input.toString(variableName70.start,variableName70.stop):null) + (ASSIGNMENT_OP72!=null?ASSIGNMENT_OP72.getText():null) + (DATE71!=null?DATE71.getText():null) + ";";
                        }
                        else
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName70!=null?input.toString(variableName70.start,variableName70.stop):null));
                      

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:557:3: DATET variableName ENDOFSTMT
                    {
                    match(input,DATET,FOLLOW_DATET_in_assignmentStatement1408); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1410);
                    variableName73=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1412); 


                        if(symbolTable.containsKey((variableName73!=null?input.toString(variableName73.start,variableName73.stop):null)))
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName73!=null?input.toString(variableName73.start,variableName73.stop):null));
                        else {
                          String[] s = new String[2];
                          s[0] = "int";
                          s[1] = null;
                          symbolTable.put((variableName73!=null?input.toString(variableName73.start,variableName73.stop):null), s);
                          val = "Date " + (variableName73!=null?input.toString(variableName73.start,variableName73.stop):null) + " = new Date();";
                        }
                      

                    }
                    break;
                case 3 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:569:5: INT variableName ASSIGNMENT_OP NUMBER ENDOFSTMT
                    {
                    match(input,INT,FOLLOW_INT_in_assignmentStatement1422); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1424);
                    variableName74=variableName();

                    state._fsp--;


                    ASSIGNMENT_OP76=(Token)match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1426); 

                    NUMBER75=(Token)match(input,NUMBER,FOLLOW_NUMBER_in_assignmentStatement1428); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1430); 


                        if(!symbolTable.containsKey((variableName74!=null?input.toString(variableName74.start,variableName74.stop):null))){
                        String[] s = new String[2];
                        s[0] = "int";
                        s[1] = (NUMBER75!=null?NUMBER75.getText():null);
                        symbolTable.put((variableName74!=null?input.toString(variableName74.start,variableName74.stop):null), s);
                        val = "int " + (variableName74!=null?input.toString(variableName74.start,variableName74.stop):null) + (ASSIGNMENT_OP76!=null?ASSIGNMENT_OP76.getText():null) + (NUMBER75!=null?NUMBER75.getText():null) + ";";}
                        else
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName74!=null?input.toString(variableName74.start,variableName74.stop):null));
                      

                    }
                    break;
                case 4 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:581:3: INT variableName ENDOFSTMT
                    {
                    match(input,INT,FOLLOW_INT_in_assignmentStatement1442); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1444);
                    variableName77=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1446); 


                        if(symbolTable.containsKey((variableName77!=null?input.toString(variableName77.start,variableName77.stop):null)))
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName77!=null?input.toString(variableName77.start,variableName77.stop):null));
                        else {
                          String[] s = new String[2];
                          s[0] = "int";
                          s[1] = null;
                          symbolTable.put((variableName77!=null?input.toString(variableName77.start,variableName77.stop):null), s);
                          val = "int " + (variableName77!=null?input.toString(variableName77.start,variableName77.stop):null) + ";";
                        }
                      

                    }
                    break;
                case 5 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:594:3: STRING variableName ASSIGNMENT_OP QUOTE IDENTIFIER QUOTE ENDOFSTMT
                    {
                    match(input,STRING,FOLLOW_STRING_in_assignmentStatement1458); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1460);
                    variableName78=variableName();

                    state._fsp--;


                    ASSIGNMENT_OP80=(Token)match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1462); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_assignmentStatement1464); 

                    IDENTIFIER79=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_assignmentStatement1466); 

                    match(input,QUOTE,FOLLOW_QUOTE_in_assignmentStatement1468); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1470); 


                        if(!symbolTable.containsKey((variableName78!=null?input.toString(variableName78.start,variableName78.stop):null))){
                        String[] s = new String[2];
                        s[0] = "string";
                        s[1] = (IDENTIFIER79!=null?IDENTIFIER79.getText():null);
                        symbolTable.put((variableName78!=null?input.toString(variableName78.start,variableName78.stop):null), s);
                        val = "String " + (variableName78!=null?input.toString(variableName78.start,variableName78.stop):null) + (ASSIGNMENT_OP80!=null?ASSIGNMENT_OP80.getText():null) + "\"" +(IDENTIFIER79!=null?IDENTIFIER79.getText():null) + "\";";}
                        else
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName78!=null?input.toString(variableName78.start,variableName78.stop):null));
                      

                    }
                    break;
                case 6 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:606:3: STRING variableName ENDOFSTMT
                    {
                    match(input,STRING,FOLLOW_STRING_in_assignmentStatement1482); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1484);
                    variableName81=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1486); 


                        if(symbolTable.containsKey((variableName81!=null?input.toString(variableName81.start,variableName81.stop):null)))
                          System.out.println("Error! You are trying to redefine a previously defined variable " + (variableName81!=null?input.toString(variableName81.start,variableName81.stop):null));
                        else {
                          String[] s = new String[2];
                          s[0] = "string";
                          s[1] = null;
                          symbolTable.put((variableName81!=null?input.toString(variableName81.start,variableName81.stop):null), s);
                          val = "String " + (variableName81!=null?input.toString(variableName81.start,variableName81.stop):null) + ";";
                        }
                      

                    }
                    break;
                case 7 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:619:4: v1= variableName ASSIGNMENT_OP v2= variableName ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1501);
                    v1=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1503); 

                    pushFollow(FOLLOW_variableName_in_assignmentStatement1507);
                    v2=variableName();

                    state._fsp--;


                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1509); 


                        if(symbolTable.containsKey((v1!=null?input.toString(v1.start,v1.stop):null)) && symbolTable.containsKey((v2!=null?input.toString(v2.start,v2.stop):null))){
                              if(symbolTable.get((v1!=null?input.toString(v1.start,v1.stop):null))[TYPE].equals(symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[TYPE])){
                                if(symbolTable.get((v2!=null?input.toString(v2.start,v2.stop):null))[VALUE] == null){
                                  val = (v1!=null?input.toString(v1.start,v1.stop):null) + " = " + (v2!=null?input.toString(v2.start,v2.stop):null) + ";" ;
                              }
                              else{
                                  System.out.println("Error!  No value assigned to variable!");
                                }
                              }
                              else{
                                System.out.println("Error! Type Mismatch");
                              }
                          }
                          else{
                            System.out.println("Error! Undefined variable name");
                        }
                      

                    }
                    break;
                case 8 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:639:3: variableName ASSIGNMENT_OP READT LEFTPARAN RIGHTPARAN ENDOFSTMT
                    {
                    pushFollow(FOLLOW_variableName_in_assignmentStatement1521);
                    variableName82=variableName();

                    state._fsp--;


                    match(input,ASSIGNMENT_OP,FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1523); 

                    match(input,READT,FOLLOW_READT_in_assignmentStatement1525); 

                    match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_assignmentStatement1527); 

                    match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_assignmentStatement1529); 

                    match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_assignmentStatement1531); 


                        if(symbolTable.containsKey((variableName82!=null?input.toString(variableName82.start,variableName82.stop):null))){
                                  val = (variableName82!=null?input.toString(variableName82.start,variableName82.stop):null) + " = s.next();";
                              }
                          else{
                            System.out.println("Error! Undefined variable name");
                        }
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "assignmentStatement"



    // $ANTLR start "createEventCommand"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:650:1: createEventCommand returns [String val] : CREATEEVENT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT ;
    public final String createEventCommand() throws RecognitionException {
        String val = null;


        String parameters83 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:651:3: ( CREATEEVENT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:652:3: CREATEEVENT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT
            {
            match(input,CREATEEVENT,FOLLOW_CREATEEVENT_in_createEventCommand1554); 

            match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_createEventCommand1556); 

            pushFollow(FOLLOW_parameters_in_createEventCommand1558);
            parameters83=parameters();

            state._fsp--;


            match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_createEventCommand1560); 

            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_createEventCommand1562); 


                String s = new String("createEvent(" + parameters83 + ")");
                mainFuncString.add(s);
                val = "createEvent(" + parameters83 + ")" + ";\n";
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "createEventCommand"



    // $ANTLR start "runCommand"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:660:1: runCommand returns [String val] : GENERATEOUTFIT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT ;
    public final String runCommand() throws RecognitionException {
        String val = null;


        String parameters84 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:661:3: ( GENERATEOUTFIT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:662:3: GENERATEOUTFIT LEFTPARAN parameters RIGHTPARAN ENDOFSTMT
            {
            match(input,GENERATEOUTFIT,FOLLOW_GENERATEOUTFIT_in_runCommand1587); 

            match(input,LEFTPARAN,FOLLOW_LEFTPARAN_in_runCommand1589); 

            pushFollow(FOLLOW_parameters_in_runCommand1591);
            parameters84=parameters();

            state._fsp--;


            match(input,RIGHTPARAN,FOLLOW_RIGHTPARAN_in_runCommand1593); 

            match(input,ENDOFSTMT,FOLLOW_ENDOFSTMT_in_runCommand1595); 


                String s = new String("generateOutfit(" + parameters84 + ")");
                mainFuncString.add(s);
                val = "generateOutfit(" + parameters84 + ");";
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "runCommand"



    // $ANTLR start "parameters"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:670:1: parameters returns [String val] : IDENTIFIER parameters1 ;
    public final String parameters() throws RecognitionException {
        String val = null;


        Token IDENTIFIER85=null;
        String parameters186 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:671:3: ( IDENTIFIER parameters1 )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:672:3: IDENTIFIER parameters1
            {
            IDENTIFIER85=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_parameters1619); 

            pushFollow(FOLLOW_parameters1_in_parameters1621);
            parameters186=parameters1();

            state._fsp--;



            //       System.out.println("text2: "+(IDENTIFIER85!=null?IDENTIFIER85.getText():null));
                   val = (IDENTIFIER85!=null?IDENTIFIER85.getText():null) + ", " + parameters186 ;
                   val = val.substring(0, val.length()-2);
                

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return val;
    }
    // $ANTLR end "parameters"



    // $ANTLR start "parameters1"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:680:1: parameters1 returns [String param] : ( ',' IDENTIFIER p1= parameters1 |);
    public final String parameters1() throws RecognitionException {
        String param = null;


        Token IDENTIFIER87=null;
        String p1 =null;


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:681:3: ( ',' IDENTIFIER p1= parameters1 |)
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==59) ) {
                alt21=1;
            }
            else if ( (LA21_0==RIGHTPARAN) ) {
                alt21=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);

                throw nvae;

            }
            switch (alt21) {
                case 1 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:682:3: ',' IDENTIFIER p1= parameters1
                    {
                    match(input,59,FOLLOW_59_in_parameters11646); 

                    IDENTIFIER87=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_parameters11648); 

                    pushFollow(FOLLOW_parameters1_in_parameters11652);
                    p1=parameters1();

                    state._fsp--;



                    //      System.out.println("text: "+(IDENTIFIER87!=null?IDENTIFIER87.getText():null));
                            param = (IDENTIFIER87!=null?IDENTIFIER87.getText():null) + ", " + p1;
                        

                    }
                    break;
                case 2 :
                    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:688:3: 
                    {
                     
                        param = "";
                    //    System.out.println ("i did come here"); 
                      

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return param;
    }
    // $ANTLR end "parameters1"


    public static class wardrobeName_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "wardrobeName"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:695:1: wardrobeName : IDENTIFIER ;
    public final GrammarBackup4Parser.wardrobeName_return wardrobeName() throws RecognitionException {
        GrammarBackup4Parser.wardrobeName_return retval = new GrammarBackup4Parser.wardrobeName_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:695:15: ( IDENTIFIER )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:695:18: IDENTIFIER
            {
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_wardrobeName1680); 

            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "wardrobeName"


    public static class prefRange_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "prefRange"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:697:1: prefRange : ( '1' | '2' | '3' );
    public final GrammarBackup4Parser.prefRange_return prefRange() throws RecognitionException {
        GrammarBackup4Parser.prefRange_return retval = new GrammarBackup4Parser.prefRange_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:697:12: ( '1' | '2' | '3' )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:
            {
            if ( (input.LA(1) >= 60 && input.LA(1) <= 62) ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "prefRange"


    public static class value_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "value"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:699:1: value : IDENTIFIER ;
    public final GrammarBackup4Parser.value_return value() throws RecognitionException {
        GrammarBackup4Parser.value_return retval = new GrammarBackup4Parser.value_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:699:8: ( IDENTIFIER )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:699:11: IDENTIFIER
            {
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_value1712); 

            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "value"


    public static class variableName_return extends ParserRuleReturnScope {
    };


    // $ANTLR start "variableName"
    // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:701:1: variableName : IDENTIFIER ;
    public final GrammarBackup4Parser.variableName_return variableName() throws RecognitionException {
        GrammarBackup4Parser.variableName_return retval = new GrammarBackup4Parser.variableName_return();
        retval.start = input.LT(1);


        try {
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:701:15: ( IDENTIFIER )
            // C:\\Users\\Kunal\\PLT\\PLT-W2W\\src\\com\\plt\\w2w\\GrammarBackup4.g:701:18: IDENTIFIER
            {
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_variableName1724); 

            }

            retval.stop = input.LT(-1);


        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "variableName"

    // Delegated rules


 

    public static final BitSet FOLLOW_wardrobeCreation_in_start49 = new BitSet(new long[]{0x0018000000000000L});
    public static final BitSet FOLLOW_mainOptional_in_start51 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mainProgram_in_start63 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mainProgram_in_mainOptional90 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_createStatement_in_wardrobeCreation122 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_wardrobeCreation124 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_items_in_wardrobeCreation126 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_wardrobeCreation128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CREATET_in_createStatement152 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_WARDROBET_in_createStatement154 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_wardrobeName_in_createStatement156 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_createStatement158 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_item_in_items180 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_items1_in_items184 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_item_in_items1204 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_items1_in_items1207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LEFTCURLY_in_item234 = new BitSet(new long[]{0x0000000020000000L});
    public static final BitSet FOLLOW_type_in_item238 = new BitSet(new long[]{0x0080282220000100L});
    public static final BitSet FOLLOW_category_in_item240 = new BitSet(new long[]{0x0080282200000100L});
    public static final BitSet FOLLOW_weight_in_item242 = new BitSet(new long[]{0x0000282200000100L});
    public static final BitSet FOLLOW_color_in_item244 = new BitSet(new long[]{0x0000282200000000L});
    public static final BitSet FOLLOW_shade_in_item246 = new BitSet(new long[]{0x0000082200000000L});
    public static final BitSet FOLLOW_maker_in_item248 = new BitSet(new long[]{0x0000082000000000L});
    public static final BitSet FOLLOW_preference_in_item250 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_item252 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ITEMT_in_type275 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_type277 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_type279 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_type281 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ITEMT_in_category308 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_category310 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_category312 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_category314 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_WEIGHT_in_weight349 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_weight351 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_weight353 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_weight355 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_COLORT_in_color390 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_color392 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_color394 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_color396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SHADET_in_shade429 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_shade431 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_shade433 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_shade435 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_MAKERT_in_maker468 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_maker470 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_value_in_maker472 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_maker474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PREFERENCET_in_preference507 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_preference509 = new BitSet(new long[]{0x7000000000000000L});
    public static final BitSet FOLLOW_prefRange_in_preference511 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_preference513 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_header_in_mainProgram546 = new BitSet(new long[]{0x0010000000000000L});
    public static final BitSet FOLLOW_mainDecl_in_mainProgram548 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_mainProgram550 = new BitSet(new long[]{0x8001034016002400L});
    public static final BitSet FOLLOW_lines_in_mainProgram552 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_createEventCommand_in_mainProgram554 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_runCommand_in_mainProgram556 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_mainProgram558 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_USET_in_header581 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_WARDROBET_in_header583 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_wardrobeNames_in_header585 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_header587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_wardrobeName_in_wardrobeNames616 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_wardrobeNames1_in_wardrobeNames618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_wardrobeNames1643 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_wardrobeName_in_wardrobeNames1645 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_wardrobeNames1_in_wardrobeNames1649 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_VOID_in_mainDecl681 = new BitSet(new long[]{0x0000000100000000L});
    public static final BitSet FOLLOW_MAIN_in_mainDecl683 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_mainDecl685 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_mainDecl687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_lines714 = new BitSet(new long[]{0x8001034016002000L});
    public static final BitSet FOLLOW_lines_in_lines718 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_assignmentStatement_in_line750 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_line763 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_GARMENT_in_line765 = new BitSet(new long[]{0x0200000000000000L});
    public static final BitSet FOLLOW_57_in_line767 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_WARDROBET_in_line769 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_line771 = new BitSet(new long[]{0x80010B4016002000L});
    public static final BitSet FOLLOW_lines_in_line773 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_line775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IF_in_line790 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_expr_in_line792 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_line794 = new BitSet(new long[]{0x80010B4016002000L});
    public static final BitSet FOLLOW_lines_in_line796 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_line798 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_optional_tail_in_line800 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_REJTOK_in_line814 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_line816 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_READT_in_line830 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_line832 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_line834 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_line836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PRINTT_in_line850 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_line852 = new BitSet(new long[]{0x0000008002000000L});
    public static final BitSet FOLLOW_printargs_in_line854 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_line856 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_line858 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_printarg_in_printargs887 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_printargs1_in_printargs889 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_printargs1922 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_printargs1924 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_printargs1926 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_printargs1928 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_printargs1_in_printargs1932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_printargs1954 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_printargs1956 = new BitSet(new long[]{0x0400000000000000L});
    public static final BitSet FOLLOW_printargs1_in_printargs1960 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_printarg1025 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_QUOTE_in_printarg1043 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_printarg1045 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_printarg1047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ELSE_in_optional_tail1076 = new BitSet(new long[]{0x0000000040000000L});
    public static final BitSet FOLLOW_LEFTCURLY_in_optional_tail1078 = new BitSet(new long[]{0x80010B4016002000L});
    public static final BitSet FOLLOW_lines_in_optional_tail1080 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_RIGHTCURLY_in_optional_tail1082 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_conditions_in_expr1113 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LEFTPARAN_in_conditions1136 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_conditions_in_conditions1140 = new BitSet(new long[]{0x0000001000000020L});
    public static final BitSet FOLLOW_beta_in_conditions1142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LEFTPARAN_in_conditions1152 = new BitSet(new long[]{0x0000008402001000L});
    public static final BitSet FOLLOW_condition_in_conditions1154 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_conditions1156 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_AND_in_beta1181 = new BitSet(new long[]{0x0000008402001000L});
    public static final BitSet FOLLOW_condition_in_beta1183 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_beta1185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_OR_in_beta1195 = new BitSet(new long[]{0x0000008402001000L});
    public static final BitSet FOLLOW_condition_in_beta1197 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_beta1199 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMBER_in_condition1228 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1230 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_condition1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1253 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1255 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1259 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NUMBER_in_condition1271 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1273 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1287 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1289 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_condition1291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DATE_in_condition1301 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1303 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1317 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1319 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DATE_in_condition1321 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_QUOTE_in_condition1334 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_condition1336 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_condition1338 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1340 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_condition1342 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_condition1355 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CONDITIONAL_OP_in_condition1357 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_condition1359 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_condition1361 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_condition1363 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DATET_in_assignmentStatement1388 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1390 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1392 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_DATE_in_assignmentStatement1394 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DATET_in_assignmentStatement1408 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1410 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1412 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INT_in_assignmentStatement1422 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1424 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1426 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NUMBER_in_assignmentStatement1428 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_INT_in_assignmentStatement1442 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1444 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1446 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRING_in_assignmentStatement1458 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1460 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1462 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_assignmentStatement1464 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_assignmentStatement1466 = new BitSet(new long[]{0x0000008000000000L});
    public static final BitSet FOLLOW_QUOTE_in_assignmentStatement1468 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1470 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRING_in_assignmentStatement1482 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1484 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1501 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1503 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1507 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1509 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_variableName_in_assignmentStatement1521 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_ASSIGNMENT_OP_in_assignmentStatement1523 = new BitSet(new long[]{0x0000010000000000L});
    public static final BitSet FOLLOW_READT_in_assignmentStatement1525 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_assignmentStatement1527 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_assignmentStatement1529 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_assignmentStatement1531 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CREATEEVENT_in_createEventCommand1554 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_createEventCommand1556 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_parameters_in_createEventCommand1558 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_createEventCommand1560 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_createEventCommand1562 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_GENERATEOUTFIT_in_runCommand1587 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_LEFTPARAN_in_runCommand1589 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_parameters_in_runCommand1591 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_RIGHTPARAN_in_runCommand1593 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ENDOFSTMT_in_runCommand1595 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_parameters1619 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_parameters1_in_parameters1621 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_parameters11646 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_parameters11648 = new BitSet(new long[]{0x0800000000000000L});
    public static final BitSet FOLLOW_parameters1_in_parameters11652 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_wardrobeName1680 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_value1712 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IDENTIFIER_in_variableName1724 = new BitSet(new long[]{0x0000000000000002L});

}